
#ifndef UNBOUNDMAILBOX_H_
#define UNBOUNDMAILBOX_H_

#include <queue>
#include <vector>
#include "Message.h"

using namespace std;

class UnBoundMailBox
{
public:
		UnBoundMailBox(int id);
		virtual ~UnBoundMailBox();
		int getId();
		void addFirst(Message* msg);
		void addLast(Message* msg);
		Message* getNextMsg();
		int getSize();
		bool isEmpty();
		void clear();

private:
		int _Id;

protected:
		vector<Message*> _waiting_msgs;
};

#endif /* UNBOUNDMAILBOX_H_ */
